CREATE PROCEDURE pszihologus_torol as
declare @kod int,@ev nvarchar(10),@evv int
/*tarolt eljaras ami torol minden pszihologust aki tobb mint 100 eves.
kitorli a pszihologus es a szemely tablabol is*/
begin transaction
set transaction isolation level serializable

/*lekerdezzuk hogy most mien evben vagyunk*/
set @ev=substring(CONVERT(varchar(8), GETDATE(), 112) ,0,5)
/*atlalkitjuk int tipusu-va hogy ki tudjunk vonni 100-at*/
set @evv=CONVERT(int,@ev)-100
/*visszaalakitjuk string-e, es megkaptuk a 100-al kisebb evet*/
set @ev=Convert(nvarchar(10),@evv)

declare c cursor for
select s.id
from szemely s,pszihologus p
where s.id=p.szemely_id and Convert(nvarchar(50),s.szuletesidatum)<@ev

open c
fetch next from c into @kod
while @@fetch_status=0 
begin
delete from pszihologus where szemely_id=@kod
if @@error<>0 rollback transaction
delete from szemely where id=@kod
if @@error<>0 rollback transaction
fetch next from c into @kod
end
close c
deallocate c

commit transaction
